In applications of the RFID technique, a reader generally corresponds to a plurality of electronic tags. The plurality of tags may collide with one another when accessing the reader simultaneously, and as a result, information of the tags cannot be sent to the reader correctly. Therefore, a mechanism is required to avoid collision or reduce collisions.
In the current international standard ISO 18000-6, algorithms of ALOHA and Binary Tree are adopted to solve the problem of collision.
The basic feature of the ALOHA is that the system divides a channel on which tags reply into several intervals based on time (the interval is referred to as time slot), and requires the tag to select one of the intervals to reply. In operation, a reader allocates a sending probability (or a range of selectable time slots) to each tag by an instruction, and then the tag makes a selection randomly and replies on time; if a collision occurs, the tag makes another selection and performs sending, or makes another selection or performs sending in following time slot, until all the tags access the reader.
The basic feature of the Binary Tree method is that each tag has a random number generator used to generate 0 or 1; and each tag has a counter and the tag replies when the value of the counter is 0. Operation of the method is shown in FIG. 1, in which a reader sends an instruction to make all the tags begin to reply, and after receiving the instruction, the tags have their random number generators generate 0 or 1 firstly, so that the tags going to reply are split into two subsets (according to random numbers 0 and 1); the tag with random number 0 replies immediately, and tag with random number 1 sets the counter value to 1; if there is no collision and the replying is successful, the reader sends an instruction for acknowledgement, and makes counter values of the other tags decrease by 1; if there is no information replied, the reader sends an instruction for acknowledgement, and counter values of all the tags decrease by 1, until the reader receives information replied by a tag; if tags collide, the reader sends an instruction to make the colliding tags generate random numbers and perform splitting, and counter values of the other tags increase by 1; and so forth, until all the tags reply successfully.
It can be seen from the above collision avoidance process that if tags collide in the first time slot, the reader has all the colliding tags generate random numbers; if no information is replied in the second time slot, it indicates that the random numbers generated for the colliding tags in the former time slot are all 1. The solution of 18000-6 TypeB is to make all the tags decrease by 1, and it is apparent that collision still happens in the third time slot as tags colliding in the first time slot are still the tags with random number 0 in the time slot; in the following fourth time slot, the reader sends an instruction to make all the colliding tags regenerate random numbers. Therefore, the acknowledgement instruction in the third time slot, which makes counter values of all the tags decrease by 1, causes a waste of one time slot in the inventory process.